home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / ohlfind.zip / MAKEFILE < prev    next >
Text File  |  1990-07-03  |  3KB  |  91 lines

  1. # Makefile for GNU find.
  2. # Copyright (C) 1987, 1990 Free Software Foundation, Inc.
  3.  
  4. # This program is free software; you can redistribute it and/or modify
  5. # it under the terms of the GNU General Public License as published by
  6. # the Free Software Foundation; either version 1, or (at your option)
  7. # any later version.
  8.  
  9. # This program is distributed in the hope that it will be useful,
  10. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. # GNU General Public License for more details.
  13.  
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program; if not, write to the Free Software
  16. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. SHELL = /bin/sh
  19. CC = gcc
  20.  
  21. # DEFS might contain:
  22. # -DDEBUG        Print a trace tree.
  23. # -DUSG            System V string headers and functions; ndir.h.
  24. # -DDIRENT        If you have dirent.h.
  25. # -DSYSNDIR        Old Xenix systems (selects sys/ndir.h).
  26. # -DVPRINTF_MISSING    If you lack vprintf function (but have _doprnt).
  27. # -DSTRSPN_MISSING    If you lack strspn function.
  28. # -DMNTENT_MISSING    If you lack mntent.h (makes -fstype always false).
  29. DEFS = -DFCODES=\"$(FCODES)\" -DVPRINTF_MISSING
  30.  
  31. CFLAGS = $(DEFS) -g
  32. LDFLAGS = -g
  33. LIBS = 
  34.  
  35. # Directory in which to install 'find' and 'fastfind'.
  36. BINDIR=/usr/local/bin
  37.  
  38. # Directory in which to install programs to create fast-find database.
  39. LIBDIR=/usr/local/lib/find
  40.  
  41. # Data file for fast-find.
  42. FCODES=$(LIBDIR)/find.codes
  43.  
  44. HEADERS = defs.h modechange.h regex.h
  45. SOURCES = find.c parser.c tree.c pred.c util.c error.c glob.c \
  46. fstype.c listfile.c filemode.c modechange.c regex.c savedir.c version.c
  47. OBJECTS = find.o parser.o tree.o pred.o util.o error.o glob.o \
  48. fstype.o listfile.o filemode.o modechange.o regex.o savedir.o version.o
  49. DISTFILES = COPYING README ChangeLog Makefile $(HEADERS) $(SOURCES) fastfind.c
  50. LIBDISTFILES = lib/Makefile lib/updatedb.sh lib/bigram.c lib/code.c
  51.  
  52. all:    find fastfind lib
  53. .PHONY: all
  54.  
  55. find:    $(OBJECTS)
  56.     $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
  57.  
  58. fastfind:    fastfind.o glob.o error.o
  59.     $(CC) $(LDFLAGS) -o $@ fastfind.o glob.o error.o $(LIBS)
  60.  
  61. lib:
  62.     cd lib; $(MAKE) LIBDIR=$(LIBDIR) BINDIR=$(BINDIR) FCODES=$(FCODES)
  63. .PHONY: lib
  64.  
  65. # System V sites will need to either get a copy of GNU install from
  66. # the file utilities (1.3 or later), or install the files manually.
  67. install: all
  68.     install find fastfind $(BINDIR)
  69.     cd lib; $(MAKE) LIBDIR=$(LIBDIR) BINDIR=$(BINDIR) \
  70.     FCODES=$(FCODES) install
  71. .PHONY: install
  72.  
  73. modechange.o parser.o: modechange.h
  74.  
  75. find.o parser.o tree.o pred.o utils.o: defs.h 
  76.  
  77. dist:
  78.     echo find-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q < version.c` > .fname
  79.     rm -rf `cat .fname`
  80.     mkdir `cat .fname` `cat .fname`/lib
  81.     ln $(DISTFILES) `cat .fname`
  82.     ln $(LIBDISTFILES) `cat .fname`/lib
  83.     tar chZf `cat .fname`.tar.Z `cat .fname`
  84.     rm -rf `cat .fname` .fname
  85. .PHONY: dist
  86.  
  87. clean:
  88.     rm -f *.o *BAK core a.out tags find fastfind
  89.     cd lib; $(MAKE) clean
  90. .PHONY: clean
  91.